home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / include / bits / posix_opt.h < prev    next >
C/C++ Source or Header  |  2008-09-29  |  6KB  |  185 lines

  1. /* Define POSIX options for Linux.
  2.    Copyright (C) 1996-2004, 2006, 2008 Free Software Foundation, Inc.
  3.    This file is part of the GNU C Library.
  4.  
  5.    The GNU C Library is free software; you can redistribute it and/or
  6.    modify it under the terms of the GNU Lesser General Public License as
  7.    published by the Free Software Foundation; either version 2.1 of the
  8.    License, or (at your option) any later version.
  9.  
  10.    The GNU C Library is distributed in the hope that it will be useful,
  11.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.    Lesser General Public License for more details.
  14.  
  15.    You should have received a copy of the GNU Lesser General Public
  16.    License along with the GNU C Library; see the file COPYING.LIB.  If not,
  17.    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  18.    Boston, MA 02111-1307, USA.  */
  19.  
  20. #ifndef    _POSIX_OPT_H
  21. #define    _POSIX_OPT_H    1
  22.  
  23. /* Job control is supported.  */
  24. #define    _POSIX_JOB_CONTROL    1
  25.  
  26. /* Processes have a saved set-user-ID and a saved set-group-ID.  */
  27. #define    _POSIX_SAVED_IDS    1
  28.  
  29. /* Priority scheduling is supported.  */
  30. #define    _POSIX_PRIORITY_SCHEDULING    200112L
  31.  
  32. /* Synchronizing file data is supported.  */
  33. #define    _POSIX_SYNCHRONIZED_IO    200112L
  34.  
  35. /* The fsync function is present.  */
  36. #define    _POSIX_FSYNC    200112L
  37.  
  38. /* Mapping of files to memory is supported.  */
  39. #define    _POSIX_MAPPED_FILES    200112L
  40.  
  41. /* Locking of all memory is supported.  */
  42. #define    _POSIX_MEMLOCK    200112L
  43.  
  44. /* Locking of ranges of memory is supported.  */
  45. #define    _POSIX_MEMLOCK_RANGE    200112L
  46.  
  47. /* Setting of memory protections is supported.  */
  48. #define    _POSIX_MEMORY_PROTECTION    200112L
  49.  
  50. /* Some filesystems allow all users to change file ownership.  */
  51. #define    _POSIX_CHOWN_RESTRICTED    0
  52.  
  53. /* `c_cc' member of 'struct termios' structure can be disabled by
  54.    using the value _POSIX_VDISABLE.  */
  55. #define    _POSIX_VDISABLE    '\0'
  56.  
  57. /* Filenames are not silently truncated.  */
  58. #define    _POSIX_NO_TRUNC    1
  59.  
  60. /* X/Open realtime support is available.  */
  61. #define _XOPEN_REALTIME    1
  62.  
  63. /* X/Open thread realtime support is available.  */
  64. #define _XOPEN_REALTIME_THREADS    1
  65.  
  66. /* XPG4.2 shared memory is supported.  */
  67. #define    _XOPEN_SHM    1
  68.  
  69. /* Tell we have POSIX threads.  */
  70. #define _POSIX_THREADS    200112L
  71.  
  72. /* We have the reentrant functions described in POSIX.  */
  73. #define _POSIX_REENTRANT_FUNCTIONS      1
  74. #define _POSIX_THREAD_SAFE_FUNCTIONS    200112L
  75.  
  76. /* We provide priority scheduling for threads.  */
  77. #define _POSIX_THREAD_PRIORITY_SCHEDULING    200112L
  78.  
  79. /* We support user-defined stack sizes.  */
  80. #define _POSIX_THREAD_ATTR_STACKSIZE    200112L
  81.  
  82. /* We support user-defined stacks.  */
  83. #define _POSIX_THREAD_ATTR_STACKADDR    200112L
  84.  
  85. /* We support priority inheritence.  */
  86. #define _POSIX_THREAD_PRIO_INHERIT    200112L
  87.  
  88. /* We support priority protection, though only for non-robust
  89.    mutexes.  */
  90. #define _POSIX_THREAD_PRIO_PROTECT    200112L
  91.  
  92. /* We support POSIX.1b semaphores.  */
  93. #define _POSIX_SEMAPHORES    200112L
  94.  
  95. /* Real-time signals are supported.  */
  96. #define _POSIX_REALTIME_SIGNALS    200112L
  97.  
  98. /* We support asynchronous I/O.  */
  99. #define _POSIX_ASYNCHRONOUS_IO    200112L
  100. #define _POSIX_ASYNC_IO        1
  101. /* Alternative name for Unix98.  */
  102. #define _LFS_ASYNCHRONOUS_IO    1
  103. /* Support for prioritization is also available.  */
  104. #define _POSIX_PRIORITIZED_IO    200112L
  105.  
  106. /* The LFS support in asynchronous I/O is also available.  */
  107. #define _LFS64_ASYNCHRONOUS_IO    1
  108.  
  109. /* The rest of the LFS is also available.  */
  110. #define _LFS_LARGEFILE        1
  111. #define _LFS64_LARGEFILE    1
  112. #define _LFS64_STDIO        1
  113.  
  114. /* POSIX shared memory objects are implemented.  */
  115. #define _POSIX_SHARED_MEMORY_OBJECTS    200112L
  116.  
  117. /* CPU-time clocks support needs to be checked at runtime.  */
  118. #define _POSIX_CPUTIME    0
  119.  
  120. /* Clock support in threads must be also checked at runtime.  */
  121. #define _POSIX_THREAD_CPUTIME    0
  122.  
  123. /* GNU libc provides regular expression handling.  */
  124. #define _POSIX_REGEXP    1
  125.  
  126. /* Reader/Writer locks are available.  */
  127. #define _POSIX_READER_WRITER_LOCKS    200112L
  128.  
  129. /* We have a POSIX shell.  */
  130. #define _POSIX_SHELL    1
  131.  
  132. /* We support the Timeouts option.  */
  133. #define _POSIX_TIMEOUTS    200112L
  134.  
  135. /* We support spinlocks.  */
  136. #define _POSIX_SPIN_LOCKS    200112L
  137.  
  138. /* The `spawn' function family is supported.  */
  139. #define _POSIX_SPAWN    200112L
  140.  
  141. /* We have POSIX timers.  */
  142. #define _POSIX_TIMERS    200112L
  143.  
  144. /* The barrier functions are available.  */
  145. #define _POSIX_BARRIERS    200112L
  146.  
  147. /* POSIX message queues are available.  */
  148. #define    _POSIX_MESSAGE_PASSING    200112L
  149.  
  150. /* Thread process-shared synchronization is supported.  */
  151. #define _POSIX_THREAD_PROCESS_SHARED    200112L
  152.  
  153. /* The monotonic clock might be available.  */
  154. #define _POSIX_MONOTONIC_CLOCK    0
  155.  
  156. /* The clock selection interfaces are available.  */
  157. #define _POSIX_CLOCK_SELECTION    200112L
  158.  
  159. /* Advisory information interfaces are available.  */
  160. #define _POSIX_ADVISORY_INFO    200112L
  161.  
  162. /* IPv6 support is available.  */
  163. #define _POSIX_IPV6    200112L
  164.  
  165. /* Raw socket support is available.  */
  166. #define _POSIX_RAW_SOCKETS    200112L
  167.  
  168. /* We have at least one terminal.  */
  169. #define _POSIX2_CHAR_TERM    200112L
  170.  
  171. /* Neither process nor thread sporadic server interfaces is available.  */
  172. #define _POSIX_SPORADIC_SERVER    -1
  173. #define _POSIX_THREAD_SPORADIC_SERVER    -1
  174.  
  175. /* trace.h is not available.  */
  176. #define _POSIX_TRACE    -1
  177. #define _POSIX_TRACE_EVENT_FILTER    -1
  178. #define _POSIX_TRACE_INHERIT    -1
  179. #define _POSIX_TRACE_LOG    -1
  180.  
  181. /* Typed memory objects are not available.  */
  182. #define _POSIX_TYPED_MEMORY_OBJECTS    -1
  183.  
  184. #endif /* posix_opt.h */
  185.